Oftentimes, a single set of data, such as master data maintained in a master database, is employed by multiple applications that perform varying tasks using the same, similar, or different portions of that same data. Due to the different tasks performed by each of the applications, each application may incorporate that same data into its own database in some manner. Additionally, each application may enhance or augment its particular version of the master data with additional data for specific processes or tasks performed by that application.
In many environments, the master data is not completely static in nature, but instead changes over time. Moreover, not only may the specific data values represented in the master data change, but the overall structure or “schema” of the data may change as well. Such changes typically result in each individual application updating its own particular database to reflect the changes in the master data. Further, such changes may occur at different times from one application to another, possibly resulting in a lack of synchronization of the changes among the applications.